# Q. What is this file?
# A. This file contains options which allow you to configure your multiworld experience while allowing
#    others to play how they want as well.
#
# Q. How do I use it?
# A. The options in this file are weighted. This means the higher number you assign to a value, the
#    more chances you have for that option to be chosen. For example, an option like this:
#
#    map_shuffle:
#      on: 5
#      off: 15
#
#    Means you have 5 chances for map shuffle to occur, and 15 chances for map shuffle to be turned
#    off.
#
# Q. I've never seen a file like this before. What characters am I allowed to use?
# A. This is a .yaml file. You are allowed to use most characters.
#    To test if your yaml is valid or not, you can use this website:
#        http://www.yamllint.com/
#    You can also verify that your MultiworldGG options are valid at this site:
#        https://multiworld.gg/check

# Your name in-game, limited to 16 characters.
#     {player} will be replaced with the player's slot number.
#     {PLAYER} will be replaced with the player's slot number, if that slot number is greater than 1.
#     {number} will be replaced with the counter value of the name.
#     {NUMBER} will be replaced with the counter value of the name, if the counter value is greater than 1.
name: Player{number}

# Used to describe your yaml. Useful if you have multiple files.
description: Default Nine Sols Template

game: Nine Sols
requires:
  version: 0.7.189 # Version of MWGG required for this yaml to work as expected.
  game:
    Nine Sols: 0.3.3 # Version of the world required for this yaml to work as expected.

Nine Sols:
  ################
  # Game Options #
  ################
  progression_balancing:
    # A system that can move progression earlier, to try and prevent the player from getting stuck and bored early.
    # 
    # A lower setting means more getting stuck. A higher setting means less getting stuck.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 99
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-99: 0 # random value between 0 and 99
    disabled: 0 # equivalent to 0
    normal: 50 # equivalent to 50
    extreme: 0 # equivalent to 99

  accessibility:
    # Set rules for reachability of your items/locations.
    # 
    # **Full:** ensure everything can be reached and acquired.
    # 
    # **Minimal:** ensure what is needed to reach your goal can be acquired.
    full: 50
    minimal: 0

  shuffle_sol_seals:
    # Allows the Sol Seal items to be placed on any location in the multiworld, instead of their vanilla locations.
    'false': 0
    'true': 50

  seals_for_eigong:
    # The number of Sol Seals needed to open the door in Central Hall to New Kunlun Control Hub, fight Eigong,
    # and complete the goal.
    # Unlike the vanilla game, you don't need to visit Tiandao Research Center or trigger the "point of no return".
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 8
    8: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-8: 0 # random value between 0 and 8

  seals_for_prison:
    # The number of Sol Seals needed for Jiequan to appear in Factory (Great Hall), allowing you to "fight" him,
    # do the whole Prison escape sequence, and check most of the locations in Factory (Machine Room).
    # 
    # Note that you also need Mystic Nymph: Scout Mode, Grapple, and either Cloud Leap or Ledge Grab
    # before Jiequan will appear, since you can't finish the Prison escape sequence without them.
    # 
    # Unlike the vanilla game, the real Jiequan fight may be done before or after Prison.
    # Also, it does not matter which Sol Seals you've collected, only the total number.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 8
    3: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-8: 0 # random value between 0 and 8

  seals_for_ethereal:
    # The number of Sol Seals needed for the entrance to Lady Ethereal's soulscape to appear in Cortex Center.
    # See also the skip_soulscape_platforming option.
    # Unlike the vanilla game, it does not matter which Sol Seals you've collected, only the total number.
    # The maximum is 7 instead of 8 because 8 would be incompatible with shuffle_sol_seals: false.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 7
    4: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-7: 0 # random value between 0 and 7

  skip_soulscape_platforming:
    # After you collect enough Sol Seals to unlock Lady Ethereal's soulscape (see seals_for_ethereal),
    # if this option is enabled, Cortex Center will skip ahead to the state where you can enter her boss fight,
    # instead of the long platforming sequence you normally do first.
    # 
    # This is a .yaml/generation option because it has a small effect on logic: The platforming sequence logically
    # requires Tai-Chi Kick, so skipping it allows the Lady Ethereal fight to be in-logic with only Air Dash.
    'false': 50
    'true': 0

  randomize_jade_costs:
    # Edit the cost of every jade in this slot to a randomly chosen number between jade_cost_min and jade_cost_max.
    # 
    # This includes jades which are not Archipelago items.
    # 
    # As a reminder: you start the game with 2 units of computing power, and there are 8 Computing Unit items to find,
    # for a maximum power of 10.
    'false': 50
    'true': 0

  jade_cost_min:
    # The minimum possible jade cost. Has no effect if randomize_jade_costs is false.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 10
    1: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-10: 0 # random value between 0 and 10

  jade_cost_max:
    # The maximum possible jade cost. Has no effect if randomize_jade_costs is false.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 10
    3: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-10: 0 # random value between 0 and 10

  jade_cost_plando:
    # Manually specify the cost of certain jades. For example: { "Stasis Jade": 0, "Steely Jade": 10 }
    # 
    # The costs may be any integer from 0 to 10, even if jade_cost_min and jade_cost_max are set to a narrower range.
    {}

  first_root_node:
    # The first root node you can teleport to from Four Seasons Pavilion after starting a randomized game.
    # This is often referred to as your "spawn", although you technically always spawn in FSP.
    # 
    # Many root nodes are intentionally excluded from this list, usually because if you started there
    # no locations would be checkable at the start of the game when you have no items yet.
    # 
    # Some first_root_nodes will force items to be placed early, since the randomizer would be unbeatable otherwise:
    # - galactic_dock early-places one of Nymph or Tai-Chi Kick
    # - central_transport_hub early-places Tai-Chi Kick
    # - factory_underground early-places one of Air Dash or Cloud Leap
    # - inner_warehouse early-places Wall Climb and one of Cloud Leap, Air Dash or Ledge Grab
    # - power_reservoir_west early-places one of Cloud Leap, Air Dash or Tai-Chi Kick
    # See the descriptions of shuffle_grapple, shuffle_wall_climb and shuffle_ledge_grab for additional cases.
    agrarian_hall: 0
    apeman_facility_depths: 0
    apeman_facility_monitoring: 50
    central_transport_hub: 0
    factory_great_hall: 0
    factory_underground: 0
    galactic_dock: 0
    outer_warehouse: 0
    grotto_of_scriptures_entry: 0
    grotto_of_scriptures_east: 0
    grotto_of_scriptures_west: 0
    inner_warehouse: 0
    lake_yaochi_ruins: 0
    power_reservoir_east: 0
    power_reservoir_west: 0
    radiant_pagoda: 0
    yinglong_canal: 0

  shuffle_grapple:
    # Takes away Yi's grapple hook and zipline sliding abilities until you collect the 'Grapple' item.
    # 
    # If your first_root_node is yinglong_canal, then Grapple will be placed early.
    'false': 50
    'true': 0

  shuffle_wall_climb:
    # Takes away Yi's ability to climb glowing green walls until you collect the 'Wall Climb' item.
    # 
    # If your first_root_node is apeman_facility_monitoring, then Wall Climb will be placed early.
    'false': 50
    'true': 0

  shuffle_ledge_grab:
    # Takes away Yi's ability to grab onto ledges and pull himself up until you collect the 'Ledge Grab' item.
    # 
    # If your first_root_node is yinglong_canal, then Ledge Grab will be placed early.
    # 
    # This is more impactful than it might sound because of 'ledge storage' glitches.
    # See logic_level (whenever I implement that).
    'false': 50
    'true': 0

  ###########################
  # Item & Location Options #
  ###########################
  local_items:
    # Forces these items to be in their native world.
    []

  non_local_items:
    # Forces these items to be outside their native world.
    []

  start_inventory:
    # Start with the specified amount of these items. Example: "Bomb: 1"
    {}

  start_inventory_from_pool:
    # Start with the specified amount of these items and don't place them in the world. Example: "Bomb: 1"
    # 
    # The game decides what the replacement items will be.
    {}

  start_hints:
    # Start with these item's locations prefilled into the ``!hint`` command.
    []

  start_location_hints:
    # Start with these locations and their item prefilled into the ``!hint`` command.
    []

  exclude_locations:
    # Prevent these locations from having an important item.
    []

  priority_locations:
    # Prevent these locations from having an unimportant item.
    []

  item_links:
    # Share part of your item pool with other players.
    []

  plando_items:
    # Generic items plando.
    []
